package com.eu.ebpm.engine.repository;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.eu.ebpm.engine.entity.history.HisExecution;
import com.eu.ebpm.engine.entity.runtime.Execution;

public interface ExecutionRepository {
	
	public int insert(Execution e); 
	
	public Execution queryById(Long id);
	
	public Execution singleResult(Map<String, Object> args);
	
	public List<Execution> list(Map<String, Object> args);
	
	public void delete(long executionId);
	
	public void insertHisExecution(HisExecution his);
	
	public void updateHisExecution(Map<String, Object> args);
	
	public long count(Map<String, Object> arg);
	
	public List<Long> selectByParentIdForUpdate(@Param("parentId") Long parentId);
	
	public Long queryParentId(long id);

}
